package Leetcode.lc073;

public class Sloution {
    /***
     * 使用额外空间，两个标记数组,mxn的矩阵
     * @param matrix
     */
    public void setZeroes(int[][] matrix) {
        int m = matrix.length;
        int n = matrix[0].length;
        boolean[] m1=new boolean[m];
        boolean[] n1=new boolean[n];
        //第一次遍历，统计标记位置
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(matrix[i][j]==0){
                    m1[i]=n1[j]=true;
                }
            }
        }
        //开始归零操作
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(m1[i]||n1[j]){
                    matrix[i][j]=0;
                }
            }
        }
    }

    public static void main(String[] args) {

    }
}
